1. Field of the Invention
The present invention relates to an IC memory card having a flash memory and an attribute memory, which is used as a memory medium such as a data processing device.
2. Description of the Related Art
Conventionally, hard disk devices or floppy disk devices are widely used as an external memory device of a data processing device such as a personal computer or work station. Recently, IC memory cards (integrated circuit memory cards) are being used as an external memory device in place of those disk devices, and accordingly, personal computers have as a standard device slots for holding memory cards, or periphery devices such as memory card reader or writer to which can be optionally supplied with personal computers, are being developed.
A memory card is advantageous in terms of portability, and it has a larger storing capacity than that of a floppy disk. Thus, a memory card is convenient when transferring between terminals or carrying from one place to another.
Although the memory card is convenient as described above, its specification varies widely from one production maker to another, and the memory card entails the problem of being incompatible with a lot of different computer models in comparison with the floppy disk, for example. Due to these circumstances, the standardization of the memory is in progress, and more recently, a memory card having a specification in conformity with the standard set by PCMCIA (personal computer memory card international association) has been developed. A memory card having, for example, a flash EEPROM (flash electrically erasable programmable read-only memory) is standardized in terms of its physical and electrical specifications.
However, in accordance with an increase in the degree of integration and the capacity of the flash EEPROM, it is getting difficult to form a defective free bit (memory area) or block (a set of the predetermined number of bits) in the chip. As a result, flash EEPROMS, shipped from the factory, inevitably contain defective bits or defective blocks.
When manufacturing flash EEPROMs, the test for checking erasing and writing is usually carried out chip by chip. When it is judged that a chip contains a defective block, data "0" is marked on all the bits in the defective block. In the case where there is even only one defective bit present in a block, the block is still handled as a defective block. With the marking, initial defect data which indicates a defective block on a flash EEPROM is recorded.
The judgment in the test is made very precisely in consideration of the erase/write properties and the like with regard to the applied voltage value. Even if data can be temporarily erased or written, a block having a low reliability in storing data is judged to be defective.
As described above, the initial defective data recorded on the flash EEPROM in the marking has a very high reliability, and therefore it is desirable that the judgment of a block as to GOOD or NO GOOD should be made based on the initial defect data when the test of the flash EEPROM is carried out.
The flash EEPROM in which the initial defect data is recorded, is built in a memory card in an assembly step. The memory card in which the flash EEPROM is built, is usually examined when shipped from the factory. In the examination before the shipping of the memory card, erasing of data and writing of a test data pattern are carried out on its built-in flash EEPROM. The erasing of data and the writing of a test data pattern are carried out for the purpose of checking the state of assembly, such as contact error or the like, and the state of operation of the control circuit in the card.
However, in the examination before the shipping of the memory card, the initial defect data recorded on the flash EEPROM is destroyed while erasing the data or writing the test data pattern. Consequently, the initial defect data which has been recorded cannot be utilized for the examination.
FIGS. 1A and 1B illustrate the initial defect data being destroyed as a test data pattern is written.
As shown in FIG. 1A, data "0" is already marked in a defective block of a flash EEPROM, whereas data "1" is marked in a normal block as initial defect data. In this figure, blocks 2 and 4 are defective. In the examination, when a predetermined test data pattern is written in each block on a flash EEPROM, the initial defect data is destroyed as shown in FIG. 1B, making it impossible to determine which block is defective.
In order to solve the above problem, a technique in which the initial defect data is transferred to a recording medium other than the memory card, is considered. However, with this technique, a new recording medium for reserving the initial defect data during the examination must be prepared, making the procedure complex. Further, in the case where the initial defect data is stored in a predetermined memory area on the flash EEPROM, the block in which the initial error data is stored, cannot be examined.
As described, conventionally, the initial defect data for a block prerecorded on the flash EEPROM built in a memory card cannot be effectively utilized for the examination of the block.
The memory card containing a flash EEPROM is presently being standardized in terms of physical and electrical specifications as described above; however there is no established norm regarding the specification of the formatting of the card, especially, the handling of a defective block with which writing or erasing cannot be properly carried out with respect to the flash EEPROM. As a result, it is conventionally rare to perform formatting while considering a possibility of the presence of a defective block, so that the defective block to which write/erase cannot be performed, will not have to be accessed later.
One solution to the above problem is proposed in U.S. Pat. No. 5,200,959, a method in which defective blocks on a memory (flash EEPROM or the like) are detected while formatting, and the data of the detected error block (address and type of error) are listed and stored in a predetermined memory area on the same memory. According to this method, the list of the defective block data stored in the memory area is referred to when the memory is accessed.
In the case where a new defective block is detected while writing data in the memory, the list of the defective block data is stored in the same memory but in a different memory area. When the data written in the memory is read out, the above two types of lists are referred to. Therefore, the data written in predetermined addresses are correctly read out without accessing to the defective block.
However, in this method, a large memory area is required to save the list of the defective block data and the address data, and therefore the memory area freely used by the user is limited by the list. Furthermore, in the case where a block for storing the data of defective block data is judged to be defective, some countermeasure must be taken, such as transferring the data of the error block to another memory area. In the case where all the bits on the memory are examined, the list of the data thereof must be temporarily transferred to another memory medium.
As described, with the conventional IC memory card, the formatting in consideration of the presence of defective blocks on the contained flash EEPROM, cannot be efficiently carried out.